package com.societyGames.codeExercise
{
import com.societyGames.system.EventObject;

import flash.display.DisplayObject;

public interface ICodeExercise
{
  function initialize():void;

  function set maximumActionCount(value:uint):void;

  function handleUserCodeEnd():void; //When the user code completes. We don't know if it's exception or normal end.
  function handleUserCodeComplete():void; //When the user code is complete. We know we hit the end.
  function stop():void; //Prematurely stop everything.
  function get successEventObject():EventObject; 	//Event. Successful module completion.
  function get failureEventObject():EventObject; 	//Event. Failure of module.
  function get errorEventObject():EventObject; 	//ErrorEvent. Received error.
  function get unhandledErrorEventObject():EventObject; //Event. Some error that nobody caught so we don't know what it is.
  function get outputEventObject():EventObject; 	//TextEvent. Display output.
  function get displayObject():DisplayObject; //The DisplayObject for this code exercise.
}
}